<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <div id="box"></div>
    </body>
    <script>
        //异步函数 ---- 异步机制 主线程先执行在执行异步队列
        // async 和 await 配合使用时 这个函数就是异步函数
        async function a() {
            // await '888'
            console.log(6)
            await 987 //需要等待
            console.log('1')
            console.log('2')
            await 987 //需要等待
            console.log('4')
        }
        a()
        console.log('3')
        console.log('5')
        // function fun() {
        //     return 'hello'
        // }
        // function fun2() {
        //     let res = fun()
        //     console.log(res)
        //     console.log('end')
        // }
        // fun2()
        // function testAwait() {
        //     //这个函数是一个异步操作但需要同步执行，所以必须返回一个promise对象
        //     return new Promise((resolve) => {
        //         //异步操作  ajax
        //         setTimeout(function () {
        //             console.log('testAwait')
        //             resolve('拉屎劲的了卡莎')
        //         }, 1000)
        //     })
        // }

        // async function helloAsync() {
        //     let res = await testAwait() //等待这个异步函数执行完成在继续执行
        //     console.log(res)
        //     console.log('helloAsync')
        // }
        // helloAsync()

        // async function fun() {
        //     return 'hello'
        // }
        // fun().then((res) => {
        //     console.log(res)
        // })
        // console.log()
    </script>
</html>
